package com.scapegoat.pay.point.service.api;

import com.scapegoat.pay.point.service.entity.RpPointAccount;
import org.mengyun.tcctransaction.api.TransactionContext;
import com.scapegoat.pay.common.core.page.PageBean;
import com.scapegoat.pay.common.core.page.PageParam;
import com.scapegoat.pay.point.service.exceptions.PointBizException;

/**
 * 账户service接口
 *
 * @author walkman
 * @date 2017年10月17日 21:51:40
 */
public interface RpPointAccountService {

    /**
     * 保存
     */
    void saveData(RpPointAccount rpPointAccount) throws PointBizException;

    /**
     * 更新
     */
    void updateData(RpPointAccount rpPointAccount) throws PointBizException;

    void creditToPointAccountTcc(TransactionContext transactionContext, String userNo, Integer pointAmount, String requestNo, String bankTrxNo, String trxType, String remark) throws PointBizException;

    void creditToPointAccount(String userNo, Integer pointAmount, String requestNo, String bankTrxNo, String trxType, String remark) throws PointBizException;

    /**
     * 根据id获取数据
     *
     * @param id
     * @return
     */
    RpPointAccount getDataById(String id) throws PointBizException;

    /**
     * 获取分页数据
     *
     * @param pageParam
     * @return
     */
    PageBean listPage(PageParam pageParam, RpPointAccount rpPointAccount) throws PointBizException;

}